#ifndef EXPORT_H
#define EXPORT_H

#include <QList>
#include <QtCore>
#include "funcblockbase.h"
#include "wirebase.h"
#include "pinbase.h"

class LoopException : public  QtConcurrent::Exception
{
public:
    void raise() const { throw *this; }
    Exception *clone() const { return new LoopException(*this); }
};

class WireDriversException : public  QtConcurrent::Exception
{
public:
    void raise() const { throw *this; }
    Exception *clone() const { return new WireDriversException(*this); }
};

class ExportNetlist
{
public:
    void save_netlist(QList<FuncBlockBase*> *fbList, QList<WireBase*> *wireList, QList<PinBase*> *pinList);
private:
    void setWirePathMemoryFlags(PinBase *pin);
};

#endif // EXPORT_H
